CXX = g++
GNAT = gnatmake
CXXFLAGS=-Wall -ansi
LDFLAGS=-Wall -ansi  -lpthread -lstdc++ -lgcc_s 
EXEC=main.exe
BIN = annuaire.o central.o standard.o environnement.o interface_ada.o
BINADA = poste_fixe.o interface_c.o main.o 
ALI = poste_fixe.ali interface_c.ali main.ali 

all: clean $(EXEC)

$(EXEC) :  $(BIN) $(ALI)
	gnatbind -x main.ali
	gnatlink main.ali -g $(BIN) -o $(EXEC) $(LDFLAGS) --LINK=c++

##################
#       Partie C++
##################

annuaire.o: annuaire.cpp
	$(CXX) -o annuaire.o -c annuaire.cpp $(CFLAGS)
	
central.o: central.cpp annuaire.h
	$(CXX) -o central.o -c central.cpp $(CXXFLAGS)

standard.o: standard.cpp annuaire.h
	$(CXX) -o standard.o -c standard.cpp $(CXXFLAGS)

environnement.o: environnement.cpp environnement.h
	$(CXX) -o environnement.o -c environnement.cpp $(CXXFLAGS)

interface_ada.o: interface_ada.cpp
	$(CXX) -o interface_ada.o -c interface_ada.cpp $(CXXFLAGS)
	
##################
#       Partie ADA
##################

interface_c.ali : interface_c.ads
	$(GNAT) -c interface_c.ads

poste_fixe.ali : poste_fixe.adb
	$(GNAT) -c poste_fixe.adb

main.ali : main.adb
	$(GNAT) -c main.adb
clean:
	rm -rf *.o
	rm -rf *.ali
	rm -rf *~*.ad*
	rm -rf *~
